home *** CD-ROM | disk | FTP | other *** search
/ Almathera Ten Pack 3: CDPD 3 / Almathera Ten on Ten - Disc 3: CDPD3.iso / scope / 201-220 / scopedisk215 / xprymodem / xprymodem.doc < prev    next >
Text File  |  1995-03-19  |  6KB  |  179 lines

  1.  
  2. This is an XPR 2.0 implementation of the YMODEM protocol.
  3.  
  4. based on bmodem: the BIX modem program by David Betz, BYTE Magazine/BIX
  5.  
  6. Source code modifications and additions needed for XPR are:
  7.  
  8.   NO Copyright 1991 Ueli -Lonely Rider- Kaufmann, NO Rights Reserved.
  9.   ^^                                              ^^
  10.  
  11. This software is provided "AS IS" without warranty of any kind, either
  12. expressed or implied, with respect to the programs described herein, their
  13. quality, performance, or fitness for any particular purpose.
  14.  
  15. In no event will the author(s) be liable for direct, indirect, incidental,
  16. or consequential damages.
  17.  
  18. redistribution of this software is permitted, provided that:
  19.  
  20.   NOTHING:  This is purely Public Domain..!!
  21.             You can do with it, whatever you want to do..(-:
  22.                        ^^^^
  23.  
  24. By using or distributing this software, you agree to understand and accept
  25. the above.  [ I HOPE, YOU UNDERSTOOD..(-: ]
  26.  
  27.  
  28. changes in:
  29.  
  30. - v1.90
  31.   - Output-option is only used in batch-mode..
  32.   - some people had trouble useing xpr-ymodem in conjunction with
  33.     n-comm v1.92 and atalk3..  > vaporized <  (not the people..;-)
  34.     [ Im KlarText: wenn ein Transfer-Abbruch stattfand, gingen diese zwei
  35.       Proggies in eine hübsche Endlos-Schlaufe, weil sie dummerweise
  36.       JEDESMAL einen Abbruch signalisierten anstatt nur einmal..)-:  ]
  37.  
  38. - v1.80
  39.   - there was a little error in doc. YMODEM command mode character
  40.     isn't 'M' ,  it's 'Y'    sorry, Urs..
  41.   - added new option: YMODEM -a
  42.     it supports neither CRC nor Checksum and should only be used if
  43.     there are ERROR-DETECTING AND -CORRECTING modems connected..!!
  44.               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  45.  
  46. - v1.65
  47.   - if there's no xpr_fnext(), YMODEM batch doesn't fall back
  48.     in X- / YMODEM state anymore..
  49.   - killed dirty enforcer-hit in XPr-Setup
  50.   - YMODEM-g now stops upload when receiving CAN/CAN   ( NOT standard..!! )
  51.   - YMODEM-g now tests chkabort(), too
  52.   - YMODEM-g now aborts pronto if there occur some dirty errors
  53.   - some code optimations included
  54.   - some incompatibilities excluded
  55.  
  56. - v1.01
  57.   - better outfit
  58.   - chkabort() implemented
  59.  
  60. - v1.00
  61.   - first release
  62.  
  63.  
  64.  
  65.  
  66. technical datas about YMODEM:
  67. - it is an amiga'ized version! It is definetly NOT gronking around
  68.   with single byte reads n' writes or these lame getc() and putc()..!!!!
  69. - it will allways send in binary mode..
  70. - it will use a 16384 bytes internal serial input buffer..
  71. - it will use a  8192 bytes internal IO buffer for file handling..
  72.  
  73.  
  74.  
  75. Enough chatting..
  76.  
  77.  
  78. Configurable options are:
  79.   YMODEM mode: Y<S|B|G|A>
  80.   ------------
  81. - 'X- / YMODEM':  you can use this YMODEM as XMODEM, too!              YS
  82.   NOTE:
  83.   YMODEM is fully compatible with XMODEM, so you can use this
  84.   XPr-Y as XPr-X, too..   Ist das nicht Pfanni..(-;
  85.  
  86. - 'YMODEM batch': the real one & only YMODEM implementation..          YB
  87.  
  88. - 'YMODEM -g':    for those people wanting good troughput              YG
  89.                   this mode uses 1 kB blocks and CRC-16
  90.  
  91. - 'YMODEM -a':    for those people wanting best troughput avalaible..  YA
  92.                   this mode uses 2 kB blocks and it does 
  93.                   no CRC-checking, because this is already
  94.                   done by the modems..  [ hail, hail HST..(-; ]
  95.  
  96.   NOTE:
  97.   -----
  98.    'YMODEM -g' and 'YMODEM -a' work like YMODEM batch, they just
  99.    don't send an ACK for received blocks and they can't handle
  100.    CRC-16 or Checksum errors..
  101.    they should only be used by people with highspeed error-detecting and 
  102.    error-correcting modems..!!  [ ie: US-Robotics HST, etc. ]
  103.   
  104.  
  105.   by default YB
  106.  
  107.  
  108. --------------------------------------------------------------------------
  109.  
  110.   CHOP option: Z<1|0>
  111.   ------------
  112. - when enabled, XPrYmodem will chop files ONLY, if the filesize is
  113.   unknown..  you can allways enable this option..
  114.  
  115.   NOTE: PAD-out char: '\Z' and *NOT* '\0' like xprxmodem.library does..
  116.   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  117.  
  118.   by default enabled
  119.  
  120. --------------------------------------------------------------------------
  121.  
  122.  
  123.   OUTPUT option: O<dir>
  124.   --------------
  125. - this specifies the output directory for received files..
  126.  
  127.   by default RAM:
  128.  
  129. --------------------------------------------------------------------------
  130.  
  131.   CRC option:  C<1|0>
  132.   -----------
  133. - when enabled, XPrYmodem will use CRC-16 for error-checking, else  
  134.   it will use Checksum...
  135.  
  136.   by default enabled
  137.  
  138. --------------------------------------------------------------------------
  139.  
  140.   1kB Blocks:  B<1|0>
  141.   -----------
  142. - when enabled, XPrYmodem will use 1024 bytes data blocks, else 128 bdb's
  143.  
  144.   by default enabled
  145.  
  146. --------------------------------------------------------------------------
  147.  
  148. This can be overridden by a environment variable, "XPRYMODEM", containing
  149. a setup string, of the following format:
  150. NOTE: this works only, if the comm progi supports it..
  151.  
  152.  
  153. these options are seperated by commas. The first character of every field
  154.  is the type, one of:
  155.     B (1k blocks), C (crc), M (YMODEM mode), O (output), Z (chop).
  156.  
  157. The second char is either 1 or 0, expressing the boolean state of the
  158. option.
  159.     examples:
  160.  
  161.     Z0,C1,B1  --> chop disabled, crc on, 1k blocks
  162.  
  163.     Z1,C0,B0  --> chop enabled, crc off (checksum), normal 128byte blocks,
  164.  
  165. there are two special options:
  166. first char Y  second char:
  167. S  ->  X- / YMODEM
  168. B  ->  batch
  169. G  ->  g mode  (NOT g-spot..:-)
  170. A  ->  ARQ-mode
  171.  
  172. first char O  argument is the local output directory..   ie: Oram:t
  173.  
  174. The user might also be prompted for such a string when XProtocolSetUp() is
  175. called, if the comm program does not provide the xpr_options callback
  176. function.
  177.  
  178. Ueli Kaufmann..
  179.